[INFO] cloning repository https://github.com/3Hren/cocaine-http-proxy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/3Hren/cocaine-http-proxy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F3Hren%2Fcocaine-http-proxy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F3Hren%2Fcocaine-http-proxy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ccf57256235625fc411d85184e0c61f85c79a7c9
[INFO] checking 3Hren/cocaine-http-proxy against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F3Hren%2Fcocaine-http-proxy" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/3Hren/cocaine-http-proxy on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/3Hren/cocaine-http-proxy
[INFO] finished tweaking git repo https://github.com/3Hren/cocaine-http-proxy
[INFO] tweaked toml for git repo https://github.com/3Hren/cocaine-http-proxy written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/3Hren/cocaine-http-proxy already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/hyperium/hyper`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded log v0.3.8
[INFO] [stderr]   Downloaded byteorder v1.1.0
[INFO] [stderr]   Downloaded net2 v0.2.29
[INFO] [stderr]   Downloaded lazy_static v0.2.8
[INFO] [stderr]   Downloaded dtoa v0.4.1
[INFO] [stderr]   Downloaded tokio-core v0.1.8
[INFO] [stderr]   Downloaded atty v0.2.2
[INFO] [stderr]   Downloaded serde_bytes v0.10.1
[INFO] [stderr]   Downloaded safemem v0.2.0
[INFO] [stderr]   Downloaded term_size v0.3.0
[INFO] [stderr]   Downloaded cocaine v0.9.1
[INFO] [stderr]   Downloaded unicode-segmentation v1.2.0
[INFO] [stderr]   Downloaded clap v2.26.0
[INFO] [stderr]   Downloaded serde v1.0.10
[INFO] [stderr]   Downloaded rand v0.3.15
[INFO] [stderr]   Downloaded base64 v0.6.0
[INFO] [stderr]   Downloaded serde_json v1.0.2
[INFO] [stderr]   Downloaded linked-hash-map v0.4.2
[INFO] [stderr]   Downloaded percent-encoding v1.0.0
[INFO] [stderr]   Downloaded smallvec v0.2.1
[INFO] [stderr]   Downloaded either v1.1.0
[INFO] [stderr]   Downloaded jsonrpc-core v7.0.1
[INFO] [stderr]   Downloaded serde_derive v1.0.10
[INFO] [stderr]   Downloaded num-traits v0.1.39
[INFO] [stderr]   Downloaded uuid v0.4.0
[INFO] [stderr]   Downloaded httparse v1.2.3
[INFO] [stderr]   Downloaded rmp-serde v0.13.4
[INFO] [stderr]   Downloaded scoped-tls v0.1.0
[INFO] [stderr]   Downloaded slab v0.3.0
[INFO] [stderr]   Downloaded take v0.1.0
[INFO] [stderr]   Downloaded num_cpus v1.6.2
[INFO] [stderr]   Downloaded utf8-ranges v1.0.0
[INFO] [stderr]   Downloaded itoa v0.3.1
[INFO] [stderr]   Downloaded futures v0.1.15
[INFO] [stderr]   Downloaded bytes v0.4.4
[INFO] [stderr]   Downloaded mio-uds v0.6.4
[INFO] [stderr]   Downloaded tokio-uds v0.1.5
[INFO] [stderr]   Downloaded rmp v0.8.6
[INFO] [stderr]   Downloaded serde_yaml v0.7.1
[INFO] [stderr]   Downloaded mime v0.3.2
[INFO] [stderr]   Downloaded unicase v2.0.0
[INFO] [stderr]   Downloaded aho-corasick v0.6.3
[INFO] [stderr]   Downloaded lazycell v0.4.0
[INFO] [stderr]   Downloaded redox_syscall v0.1.26
[INFO] [stderr]   Downloaded regex v0.2.2
[INFO] [stderr]   Downloaded rmpv v0.4.0
[INFO] [stderr]   Downloaded textwrap v0.7.0
[INFO] [stderr]   Downloaded futures-cpupool v0.1.5
[INFO] [stderr]   Downloaded mio v0.6.9
[INFO] [stderr]   Downloaded iovec v0.1.0
[INFO] [stderr]   Downloaded memchr v1.0.1
[INFO] [stderr]   Downloaded regex-syntax v0.4.1
[INFO] [stderr]   Downloaded libc v0.2.26
[INFO] [stderr]   Downloaded tokio-io v0.1.2
[INFO] [stderr]   Downloaded tokio-proto v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f73d0001bcb898c60bfa48d571cfe9060b7f9457fee1f1ebf814c32a00fb5d93
[INFO] running `Command { std: "docker" "start" "-a" "f73d0001bcb898c60bfa48d571cfe9060b7f9457fee1f1ebf814c32a00fb5d93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f73d0001bcb898c60bfa48d571cfe9060b7f9457fee1f1ebf814c32a00fb5d93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f73d0001bcb898c60bfa48d571cfe9060b7f9457fee1f1ebf814c32a00fb5d93", kill_on_drop: false }`
[INFO] [stdout] f73d0001bcb898c60bfa48d571cfe9060b7f9457fee1f1ebf814c32a00fb5d93
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c0eb3bb5bd647284f1e7db5e077a152a4df485d9d37489b126904a0df8dc23ea
[INFO] running `Command { std: "docker" "start" "-a" "c0eb3bb5bd647284f1e7db5e077a152a4df485d9d37489b126904a0df8dc23ea", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.26
[INFO] [stderr]     Checking byteorder v1.1.0
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]     Checking futures v0.1.15
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking log v0.3.8
[INFO] [stderr]     Checking cfg-if v0.1.2
[INFO] [stderr]     Checking num-traits v0.1.39
[INFO] [stderr]     Checking slab v0.3.0
[INFO] [stderr]     Checking lazycell v0.4.0
[INFO] [stderr]     Checking serde v1.0.10
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking scoped-tls v0.1.0
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking take v0.1.0
[INFO] [stderr]     Checking iovec v0.1.0
[INFO] [stderr]     Checking net2 v0.2.29
[INFO] [stderr]     Checking rand v0.3.15
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking memchr v1.0.1
[INFO] [stderr]     Checking term_size v0.3.0
[INFO] [stderr]     Checking bytes v0.4.4
[INFO] [stderr]     Checking rmp v0.8.6
[INFO] [stderr]     Checking num_cpus v1.6.2
[INFO] [stderr]     Checking linked-hash-map v0.3.0
[INFO] [stderr]     Checking safemem v0.2.0
[INFO] [stderr]     Checking smallvec v0.2.1
[INFO] [stderr]    Compiling unicase v2.0.0
[INFO] [stderr]     Checking mio v0.6.9
[INFO] [stderr]     Checking lazy_static v0.2.8
[INFO] [stderr]     Checking unicode-width v0.1.4
[INFO] [stderr]     Checking dtoa v0.4.1
[INFO] [stderr]     Checking itoa v0.3.1
[INFO] [stderr]     Checking textwrap v0.7.0
[INFO] [stderr]     Checking thread_local v0.3.4
[INFO] [stderr]     Checking yaml-rust v0.3.5
[INFO] [stderr]     Checking base64 v0.6.0
[INFO] [stderr]     Checking aho-corasick v0.6.3
[INFO] [stderr]     Checking time v0.1.38
[INFO] [stderr]     Checking atty v0.2.2
[INFO] [stderr]     Checking tokio-io v0.1.2
[INFO] [stderr]     Checking tokio-service v0.1.0
[INFO] [stderr]     Checking strsim v0.6.0
[INFO] [stderr]     Checking regex-syntax v0.4.1
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking mime v0.3.2
[INFO] [stderr]     Checking mio-uds v0.6.4
[INFO] [stderr]     Checking unicode-segmentation v1.2.0
[INFO] [stderr]     Checking linked-hash-map v0.4.2
[INFO] [stderr]     Checking vec_map v0.8.0
[INFO] [stderr]     Checking futures-cpupool v0.1.5
[INFO] [stderr]     Checking either v1.1.0
[INFO] [stderr]     Checking ansi_term v0.9.0
[INFO] [stderr]    Compiling serde_derive_internals v0.15.1
[INFO] [stderr]     Checking percent-encoding v1.0.0
[INFO] [stderr]     Checking httparse v1.2.3
[INFO] [stderr]     Checking language-tags v0.2.2
[INFO] [stderr]     Checking itertools v0.5.10
[INFO] [stderr]     Checking clap v2.26.0
[INFO] [stderr]     Checking tokio-core v0.1.8
[INFO] [stderr]     Checking uuid v0.4.0
[INFO] [stderr]     Checking bitflags v0.7.0
[INFO] [stderr]     Checking bitflags v0.9.1
[INFO] [stderr]     Checking regex v0.2.2
[INFO] [stderr]     Checking tokio-proto v0.1.1
[INFO] [stderr]     Checking tokio-uds v0.1.5
[INFO] [stderr]    Compiling serde_derive v1.0.10
[INFO] [stderr]     Checking hyper v0.11.1 (https://github.com/hyperium/hyper?rev=fc5b9cce3176776e4c916cd1b907b1649a538f00#fc5b9cce)
[INFO] [stderr]     Checking serde_bytes v0.10.1
[INFO] [stderr]     Checking rmp-serde v0.13.4
[INFO] [stderr]     Checking serde_json v1.0.2
[INFO] [stderr]     Checking serde_yaml v0.7.1
[INFO] [stderr]     Checking rmpv v0.4.0
[INFO] [stderr]     Checking jsonrpc-core v7.0.1
[INFO] [stderr]     Checking cocaine v0.9.1
[INFO] [stderr]     Checking cocaine-http-proxy v0.3.19 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, fnbox, integer_atomics, never_type)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/pool/mod.rs:386:21
[INFO] [stdout]     |
[INFO] [stdout] 386 |             stream: box stream,
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 386 |             stream: Box::new(stream),
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, fnbox, integer_atomics, never_type)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/pool/mod.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |         box self.tvm.ticket(self.client_id, &self.client_secret, &self.grant)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 482 |         Box::new(self.tvm.ticket(self.client_id, &self.client_secret, &self.grant))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/mod.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         box future::ok(Response::new().with_status(StatusCode::NotFound))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 97 |         Box::new(future::ok(Response::new().with_status(StatusCode::NotFound)))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:135:28
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     return box future::err(err)
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     return Box::new(future::err(err))
[INFO] [stdout]     |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |         box future
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 175 |         Box::new(future)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:199:29
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Match::Some(box future::ok(resp))
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Match::Some(Box::new(future::ok(resp)))
[INFO] [stdout]     |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:401:17
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 Box::new(future) as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]     |                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:365:19
[INFO] [stdout]     |
[INFO] [stdout] 365 |               func: box move |service: &Service, mut settings: Settings| {
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 366 | |                 if let Some(true) = manual_verbose {
[INFO] [stdout] 367 | |                     settings.verbose = true;
[INFO] [stdout] 368 | |                 }
[INFO] [stdout] ...   |
[INFO] [stdout] 401 | |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 402 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 365 ~             func: Box::new(move |service: &Service, mut settings: Settings| {
[INFO] [stdout] 366 +                 if let Some(true) = manual_verbose {
[INFO] [stdout] 367 +                     settings.verbose = true;
[INFO] [stdout] 368 +                 }
[INFO] [stdout] 369 + 
[INFO] [stdout] 370 +                 if settings.verbose && attempt == 1 {
[INFO] [stdout] 371 +                     verbose.store(true, Ordering::Release);
[INFO] [stdout] 372 +                 }
[INFO] [stdout] 373 + 
[INFO] [stdout] 374 +                 if verbose.load(Ordering::Acquire) {
[INFO] [stdout] 375 +                     headers.push(hpack::TraceBit(true).into_raw());
[INFO] [stdout] 376 +                 }
[INFO] [stdout] 377 + 
[INFO] [stdout] 378 +                 if let Some(timeout) = settings.timeout {
[INFO] [stdout] 379 +                     headers.push(hpack::RawHeader::new(&b"request_timeout"[..], pack_u64((timeout * 1000.0) as u64)));
[INFO] [stdout] 380 +                 }
[INFO] [stdout] 381 + 
[INFO] [stdout] 382 +                 let req = cocaine::Request::new(0, &[request.event.clone()]).unwrap()
[INFO] [stdout] 383 +                     .add_headers(headers);
[INFO] [stdout] 384 + 
[INFO] [stdout] 385 +                 let future = service.call(req, AppReadDispatch {
[INFO] [stdout] 386 +                     tx: tx,
[INFO] [stdout] 387 +                     method: request.frame.method.clone(),
[INFO] [stdout] 388 +                     body: None,
[INFO] [stdout] 389 +                     trace: request.trace,
[INFO] [stdout] 390 +                     response: Some(Response::new()),
[INFO] [stdout] 391 +                 }).and_then(move |tx| {
[INFO] [stdout] 392 +                     let buf = serialize::to_vec(&request.frame).unwrap();
[INFO] [stdout] 393 +                     tx.send(cocaine::Request::new(0, &[unsafe { ::std::str::from_utf8_unchecked(&buf) }]).unwrap());
[INFO] [stdout] 394 +                     tx.send(cocaine::Request::new(2, &[0; 0]).unwrap());
[INFO] [stdout] 395 +                     Ok(())
[INFO] [stdout] 396 +                 }).then(|_| {
[INFO] [stdout] 397 +                     // TODO: Consider if it is okay to always finish the future with OK. May be log?
[INFO] [stdout] 398 +                     Ok(())
[INFO] [stdout] 399 +                 });
[INFO] [stdout] 400 + 
[INFO] [stdout] 401 +                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 402 +             })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 409 |         box future
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 409 |         Box::new(future)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/pool/mod.rs:386:21
[INFO] [stdout]     |
[INFO] [stdout] 386 |             stream: box stream,
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 386 |             stream: Box::new(stream),
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/pool/mod.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |         box self.tvm.ticket(self.client_id, &self.client_secret, &self.grant)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 482 |         Box::new(self.tvm.ticket(self.client_id, &self.client_secret, &self.grant))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/mod.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         box future::ok(Response::new().with_status(StatusCode::NotFound))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 97 |         Box::new(future::ok(Response::new().with_status(StatusCode::NotFound)))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:199:48
[INFO] [stdout]     |
[INFO] [stdout] 199 | ...                   return box future::ok(Some(out))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 199 |                                         return Box::new(future::ok(Some(out)))
[INFO] [stdout]     |                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 239 | ...                   box future::ok(())
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 239 |                                             Box::new(future::ok(()))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:216:48
[INFO] [stdout]     |
[INFO] [stdout] 216 |   ...                   return box service.connect().then(move |result| {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 217 | | ...                       match result {
[INFO] [stdout] 218 | | ...                           Ok(()) => {
[INFO] [stdout] 219 | | ...                               match service.methods() {
[INFO] [stdout] ...   |
[INFO] [stdout] 239 | | ...                       box future::ok(())
[INFO] [stdout] 240 | | ...                   }) as Box<Future<Item = (), Error = ()> + Send>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 216 ~                                         return Box::new(service.connect().then(move |result| {
[INFO] [stdout] 217 +                                             match result {
[INFO] [stdout] 218 +                                                 Ok(()) => {
[INFO] [stdout] 219 +                                                     match service.methods() {
[INFO] [stdout] 220 +                                                         Some(methods) => {
[INFO] [stdout] 221 +                                                             return Self::invoke(&service, event, params, chunks, id, methods, tx);
[INFO] [stdout] 222 +                                                         }
[INFO] [stdout] 223 +                                                         None => {
[INFO] [stdout] 224 +                                                             let err = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 225 +                                                             let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 226 +                                                             mem::drop(tx.send(out));
[INFO] [stdout] 227 +                                                         }
[INFO] [stdout] 228 +                                                     }
[INFO] [stdout] 229 +                                                 }
[INFO] [stdout] 230 +                                                 Err(e) => {
[INFO] [stdout] 231 +                                                     let mut err: Error = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 232 +                                                     err.data = Some(Value::String(e.to_string()));
[INFO] [stdout] 233 + 
[INFO] [stdout] 234 +                                                     let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 235 +                                                     mem::drop(tx.send(out));
[INFO] [stdout] 236 +                                                 }
[INFO] [stdout] 237 +                                             }
[INFO] [stdout] 238 + 
[INFO] [stdout] 239 +                                             box future::ok(())
[INFO] [stdout] 240 ~                                         })) as Box<Future<Item = (), Error = ()> + Send>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:211:35
[INFO] [stdout]     |
[INFO] [stdout] 211 |   ...                   func: box move |service: &Service, _settings: Settings| {
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 212 | | ...                       let methods = match service.methods() {
[INFO] [stdout] 213 | | ...                           Some(methods) => methods,
[INFO] [stdout] 214 | | ...                           None => {
[INFO] [stdout] ...   |
[INFO] [stdout] 244 | | ...                       Self::invoke(service, event, params, chunks, id, methods, tx)
[INFO] [stdout] 245 | | ...                   },
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 211 ~                             func: Box::new(move |service: &Service, _settings: Settings| {
[INFO] [stdout] 212 +                                 let methods = match service.methods() {
[INFO] [stdout] 213 +                                     Some(methods) => methods,
[INFO] [stdout] 214 +                                     None => {
[INFO] [stdout] 215 +                                         let service = service.clone();
[INFO] [stdout] 216 +                                         return box service.connect().then(move |result| {
[INFO] [stdout] 217 +                                             match result {
[INFO] [stdout] 218 +                                                 Ok(()) => {
[INFO] [stdout] 219 +                                                     match service.methods() {
[INFO] [stdout] 220 +                                                         Some(methods) => {
[INFO] [stdout] 221 +                                                             return Self::invoke(&service, event, params, chunks, id, methods, tx);
[INFO] [stdout] 222 +                                                         }
[INFO] [stdout] 223 +                                                         None => {
[INFO] [stdout] 224 +                                                             let err = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 225 +                                                             let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 226 +                                                             mem::drop(tx.send(out));
[INFO] [stdout] 227 +                                                         }
[INFO] [stdout] 228 +                                                     }
[INFO] [stdout] 229 +                                                 }
[INFO] [stdout] 230 +                                                 Err(e) => {
[INFO] [stdout] 231 +                                                     let mut err: Error = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 232 +                                                     err.data = Some(Value::String(e.to_string()));
[INFO] [stdout] 233 + 
[INFO] [stdout] 234 +                                                     let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 235 +                                                     mem::drop(tx.send(out));
[INFO] [stdout] 236 +                                                 }
[INFO] [stdout] 237 +                                             }
[INFO] [stdout] 238 + 
[INFO] [stdout] 239 +                                             box future::ok(())
[INFO] [stdout] 240 +                                         }) as Box<Future<Item = (), Error = ()> + Send>;
[INFO] [stdout] 241 +                                     }
[INFO] [stdout] 242 +                                 };
[INFO] [stdout] 243 + 
[INFO] [stdout] 244 +                                 Self::invoke(service, event, params, chunks, id, methods, tx)
[INFO] [stdout] 245 ~                             }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 | /                         box future
[INFO] [stdout] 251 | |                             .and_then(move |resp| Ok(Some(resp)))
[INFO] [stdout] 252 | |                             .map_err(|err| {
[INFO] [stdout] 253 | |                                 hyper::Error::Io(io::Error::new(ErrorKind::Other, format!("{}", err)))
[INFO] [stdout] 254 | |                             })
[INFO] [stdout]     | |______________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 250 ~                         Box::new(future
[INFO] [stdout] 251 +                             .and_then(move |resp| Ok(Some(resp)))
[INFO] [stdout] 252 +                             .map_err(|err| {
[INFO] [stdout] 253 +                                 hyper::Error::Io(io::Error::new(ErrorKind::Other, format!("{}", err)))
[INFO] [stdout] 254 +                             }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:135:28
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     return box future::err(err)
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     return Box::new(future::err(err))
[INFO] [stdout]     |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |         box future
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 175 |         Box::new(future)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         box future::ok(Some(Output::from(Err(err), id, Some(Version::V2))))
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         Box::new(future::ok(Some(Output::from(Err(err), id, Some(Version::V2)))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:199:29
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Match::Some(box future::ok(resp))
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Match::Some(Box::new(future::ok(resp)))
[INFO] [stdout]     |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:401:17
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 Box::new(future) as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]     |                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:265:17
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 box future::ok(Some(Output::invalid_request(id, Some(Version::V2))))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 Box::new(future::ok(Some(Output::invalid_request(id, Some(Version::V2)))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:365:19
[INFO] [stdout]     |
[INFO] [stdout] 365 |               func: box move |service: &Service, mut settings: Settings| {
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 366 | |                 if let Some(true) = manual_verbose {
[INFO] [stdout] 367 | |                     settings.verbose = true;
[INFO] [stdout] 368 | |                 }
[INFO] [stdout] ...   |
[INFO] [stdout] 401 | |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 402 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 365 ~             func: Box::new(move |service: &Service, mut settings: Settings| {
[INFO] [stdout] 366 +                 if let Some(true) = manual_verbose {
[INFO] [stdout] 367 +                     settings.verbose = true;
[INFO] [stdout] 368 +                 }
[INFO] [stdout] 369 + 
[INFO] [stdout] 370 +                 if settings.verbose && attempt == 1 {
[INFO] [stdout] 371 +                     verbose.store(true, Ordering::Release);
[INFO] [stdout] 372 +                 }
[INFO] [stdout] 373 + 
[INFO] [stdout] 374 +                 if verbose.load(Ordering::Acquire) {
[INFO] [stdout] 375 +                     headers.push(hpack::TraceBit(true).into_raw());
[INFO] [stdout] 376 +                 }
[INFO] [stdout] 377 + 
[INFO] [stdout] 378 +                 if let Some(timeout) = settings.timeout {
[INFO] [stdout] 379 +                     headers.push(hpack::RawHeader::new(&b"request_timeout"[..], pack_u64((timeout * 1000.0) as u64)));
[INFO] [stdout] 380 +                 }
[INFO] [stdout] 381 + 
[INFO] [stdout] 382 +                 let req = cocaine::Request::new(0, &[request.event.clone()]).unwrap()
[INFO] [stdout] 383 +                     .add_headers(headers);
[INFO] [stdout] 384 + 
[INFO] [stdout] 385 +                 let future = service.call(req, AppReadDispatch {
[INFO] [stdout] 386 +                     tx: tx,
[INFO] [stdout] 387 +                     method: request.frame.method.clone(),
[INFO] [stdout] 388 +                     body: None,
[INFO] [stdout] 389 +                     trace: request.trace,
[INFO] [stdout] 390 +                     response: Some(Response::new()),
[INFO] [stdout] 391 +                 }).and_then(move |tx| {
[INFO] [stdout] 392 +                     let buf = serialize::to_vec(&request.frame).unwrap();
[INFO] [stdout] 393 +                     tx.send(cocaine::Request::new(0, &[unsafe { ::std::str::from_utf8_unchecked(&buf) }]).unwrap());
[INFO] [stdout] 394 +                     tx.send(cocaine::Request::new(2, &[0; 0]).unwrap());
[INFO] [stdout] 395 +                     Ok(())
[INFO] [stdout] 396 +                 }).then(|_| {
[INFO] [stdout] 397 +                     // TODO: Consider if it is okay to always finish the future with OK. May be log?
[INFO] [stdout] 398 +                     Ok(())
[INFO] [stdout] 399 +                 });
[INFO] [stdout] 400 + 
[INFO] [stdout] 401 +                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 402 +             })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 409 |         box future
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 409 |         Box::new(future)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:199:48
[INFO] [stdout]     |
[INFO] [stdout] 199 | ...                   return box future::ok(Some(out))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 199 |                                         return Box::new(future::ok(Some(out)))
[INFO] [stdout]     |                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 239 | ...                   box future::ok(())
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 239 |                                             Box::new(future::ok(()))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:294:17
[INFO] [stdout]     |
[INFO] [stdout] 294 | /                 box service.call(req, dispatch).then(move |tx| {
[INFO] [stdout] 295 | | //                    println!("After call");
[INFO] [stdout] 296 | |                     let mut graph = &graph;
[INFO] [stdout] 297 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |                     Ok(())
[INFO] [stdout] 334 | |                 })
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 294 ~                 Box::new(service.call(req, dispatch).then(move |tx| {
[INFO] [stdout] 295 + //                    println!("After call");
[INFO] [stdout] 296 +                     let mut graph = &graph;
[INFO] [stdout] 297 + 
[INFO] [stdout] 298 +                     if let Ok(tx) = tx {
[INFO] [stdout] 299 +                         for chunk in chunks.unwrap_or_default() {
[INFO] [stdout] 300 +                             match chunk {
[INFO] [stdout] 301 +                                 Value::Object(chunk) => {
[INFO] [stdout] 302 +                                     let mut iter = chunk.into_iter();
[INFO] [stdout] 303 +                                     if iter.len() == 1 {
[INFO] [stdout] 304 +                                         let (event, args) = iter.next().unwrap();
[INFO] [stdout] 305 + //                                        println!("Event={}, args={:?}", event, args);
[INFO] [stdout] 306 +                                         if let Some((ty, g)) = graph.iter().find(|&(.., ref g)| g.event == event) {
[INFO] [stdout] 307 + //                                            println!("Type={}, Graph={:?}", ty, g);
[INFO] [stdout] 308 +                                             let req = cocaine::Request::new(*ty, &args).unwrap();
[INFO] [stdout] 309 +                                             match g.rx {
[INFO] [stdout] 310 +                                                 Some(ref g) if g.is_empty() => {
[INFO] [stdout] 311 +                                                     tx.send(req);
[INFO] [stdout] 312 +                                                     break;
[INFO] [stdout] 313 +                                                 }
[INFO] [stdout] 314 +                                                 Some(ref g) => {
[INFO] [stdout] 315 +                                                     graph = g;
[INFO] [stdout] 316 +                                                     tx.send(req);
[INFO] [stdout] 317 +                                                 }
[INFO] [stdout] 318 +                                                 None => {
[INFO] [stdout] 319 +                                                     tx.send(req);
[INFO] [stdout] 320 +                                                 }
[INFO] [stdout] 321 +                                             }
[INFO] [stdout] 322 +                                         } else {
[INFO] [stdout] 323 + //                                            println!("event not found");
[INFO] [stdout] 324 +                                             break;
[INFO] [stdout] 325 +                                         }
[INFO] [stdout] 326 +                                     }
[INFO] [stdout] 327 +                                 }
[INFO] [stdout] 328 +                                 _ => {}
[INFO] [stdout] 329 +                             }
[INFO] [stdout] 330 +                         }
[INFO] [stdout] 331 +                     }
[INFO] [stdout] 332 + 
[INFO] [stdout] 333 +                     Ok(())
[INFO] [stdout] 334 +                 }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:338:17
[INFO] [stdout]     |
[INFO] [stdout] 338 | /                 box service.call(req, dispatch).then(|tx| {
[INFO] [stdout] 339 | |                     mem::drop(tx);
[INFO] [stdout] 340 | |                     Ok(())
[INFO] [stdout] 341 | |                 })
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 338 ~                 Box::new(service.call(req, dispatch).then(|tx| {
[INFO] [stdout] 339 +                     mem::drop(tx);
[INFO] [stdout] 340 +                     Ok(())
[INFO] [stdout] 341 +                 }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:346:13
[INFO] [stdout]     |
[INFO] [stdout] 346 |             box future::ok(())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 346 |             Box::new(future::ok(()))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:216:48
[INFO] [stdout]     |
[INFO] [stdout] 216 |   ...                   return box service.connect().then(move |result| {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 217 | | ...                       match result {
[INFO] [stdout] 218 | | ...                           Ok(()) => {
[INFO] [stdout] 219 | | ...                               match service.methods() {
[INFO] [stdout] ...   |
[INFO] [stdout] 239 | | ...                       box future::ok(())
[INFO] [stdout] 240 | | ...                   }) as Box<Future<Item = (), Error = ()> + Send>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 216 ~                                         return Box::new(service.connect().then(move |result| {
[INFO] [stdout] 217 +                                             match result {
[INFO] [stdout] 218 +                                                 Ok(()) => {
[INFO] [stdout] 219 +                                                     match service.methods() {
[INFO] [stdout] 220 +                                                         Some(methods) => {
[INFO] [stdout] 221 +                                                             return Self::invoke(&service, event, params, chunks, id, methods, tx);
[INFO] [stdout] 222 +                                                         }
[INFO] [stdout] 223 +                                                         None => {
[INFO] [stdout] 224 +                                                             let err = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 225 +                                                             let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 226 +                                                             mem::drop(tx.send(out));
[INFO] [stdout] 227 +                                                         }
[INFO] [stdout] 228 +                                                     }
[INFO] [stdout] 229 +                                                 }
[INFO] [stdout] 230 +                                                 Err(e) => {
[INFO] [stdout] 231 +                                                     let mut err: Error = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 232 +                                                     err.data = Some(Value::String(e.to_string()));
[INFO] [stdout] 233 + 
[INFO] [stdout] 234 +                                                     let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 235 +                                                     mem::drop(tx.send(out));
[INFO] [stdout] 236 +                                                 }
[INFO] [stdout] 237 +                                             }
[INFO] [stdout] 238 + 
[INFO] [stdout] 239 +                                             box future::ok(())
[INFO] [stdout] 240 ~                                         })) as Box<Future<Item = (), Error = ()> + Send>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:391:32
[INFO] [stdout]     |
[INFO] [stdout] 391 |                         return box future::ok(resp) as Box<Future<Item=HttpResponse, Error=hyper::Error>>;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 391 |                         return Box::new(future::ok(resp)) as Box<Future<Item=HttpResponse, Error=hyper::Error>>;
[INFO] [stdout]     |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:402:17
[INFO] [stdout]     |
[INFO] [stdout] 402 | /                 box stream::iter_ok(calls.into_iter())
[INFO] [stdout] 403 | |                     .and_then(move |call| Self::call(call, d.clone()))
[INFO] [stdout] 404 | |                     .collect()
[INFO] [stdout] 405 | |                     .and_then(|resp| Ok(Self::make_response(resp)))
[INFO] [stdout]     | |___________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 402 ~                 Box::new(stream::iter_ok(calls.into_iter())
[INFO] [stdout] 403 +                     .and_then(move |call| Self::call(call, d.clone()))
[INFO] [stdout] 404 +                     .collect()
[INFO] [stdout] 405 +                     .and_then(|resp| Ok(Self::make_response(resp))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:408:25
[INFO] [stdout]     |
[INFO] [stdout] 408 |             Match::Some(box future)
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 408 |             Match::Some(Box::new(future))
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:211:35
[INFO] [stdout]     |
[INFO] [stdout] 211 |   ...                   func: box move |service: &Service, _settings: Settings| {
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 212 | | ...                       let methods = match service.methods() {
[INFO] [stdout] 213 | | ...                           Some(methods) => methods,
[INFO] [stdout] 214 | | ...                           None => {
[INFO] [stdout] ...   |
[INFO] [stdout] 244 | | ...                       Self::invoke(service, event, params, chunks, id, methods, tx)
[INFO] [stdout] 245 | | ...                   },
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 211 ~                             func: Box::new(move |service: &Service, _settings: Settings| {
[INFO] [stdout] 212 +                                 let methods = match service.methods() {
[INFO] [stdout] 213 +                                     Some(methods) => methods,
[INFO] [stdout] 214 +                                     None => {
[INFO] [stdout] 215 +                                         let service = service.clone();
[INFO] [stdout] 216 +                                         return box service.connect().then(move |result| {
[INFO] [stdout] 217 +                                             match result {
[INFO] [stdout] 218 +                                                 Ok(()) => {
[INFO] [stdout] 219 +                                                     match service.methods() {
[INFO] [stdout] 220 +                                                         Some(methods) => {
[INFO] [stdout] 221 +                                                             return Self::invoke(&service, event, params, chunks, id, methods, tx);
[INFO] [stdout] 222 +                                                         }
[INFO] [stdout] 223 +                                                         None => {
[INFO] [stdout] 224 +                                                             let err = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 225 +                                                             let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 226 +                                                             mem::drop(tx.send(out));
[INFO] [stdout] 227 +                                                         }
[INFO] [stdout] 228 +                                                     }
[INFO] [stdout] 229 +                                                 }
[INFO] [stdout] 230 +                                                 Err(e) => {
[INFO] [stdout] 231 +                                                     let mut err: Error = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 232 +                                                     err.data = Some(Value::String(e.to_string()));
[INFO] [stdout] 233 + 
[INFO] [stdout] 234 +                                                     let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 235 +                                                     mem::drop(tx.send(out));
[INFO] [stdout] 236 +                                                 }
[INFO] [stdout] 237 +                                             }
[INFO] [stdout] 238 + 
[INFO] [stdout] 239 +                                             box future::ok(())
[INFO] [stdout] 240 +                                         }) as Box<Future<Item = (), Error = ()> + Send>;
[INFO] [stdout] 241 +                                     }
[INFO] [stdout] 242 +                                 };
[INFO] [stdout] 243 + 
[INFO] [stdout] 244 +                                 Self::invoke(service, event, params, chunks, id, methods, tx)
[INFO] [stdout] 245 ~                             }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 | /                         box future
[INFO] [stdout] 251 | |                             .and_then(move |resp| Ok(Some(resp)))
[INFO] [stdout] 252 | |                             .map_err(|err| {
[INFO] [stdout] 253 | |                                 hyper::Error::Io(io::Error::new(ErrorKind::Other, format!("{}", err)))
[INFO] [stdout] 254 | |                             })
[INFO] [stdout]     | |______________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 250 ~                         Box::new(future
[INFO] [stdout] 251 +                             .and_then(move |resp| Ok(Some(resp)))
[INFO] [stdout] 252 +                             .map_err(|err| {
[INFO] [stdout] 253 +                                 hyper::Error::Io(io::Error::new(ErrorKind::Other, format!("{}", err)))
[INFO] [stdout] 254 +                             }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         box future::ok(Some(Output::from(Err(err), id, Some(Version::V2))))
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         Box::new(future::ok(Some(Output::from(Err(err), id, Some(Version::V2)))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:265:17
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 box future::ok(Some(Output::invalid_request(id, Some(Version::V2))))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 Box::new(future::ok(Some(Output::invalid_request(id, Some(Version::V2)))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/perf.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 Box::new(future) as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:294:17
[INFO] [stdout]     |
[INFO] [stdout] 294 | /                 box service.call(req, dispatch).then(move |tx| {
[INFO] [stdout] 295 | | //                    println!("After call");
[INFO] [stdout] 296 | |                     let mut graph = &graph;
[INFO] [stdout] 297 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |                     Ok(())
[INFO] [stdout] 334 | |                 })
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 294 ~                 Box::new(service.call(req, dispatch).then(move |tx| {
[INFO] [stdout] 295 + //                    println!("After call");
[INFO] [stdout] 296 +                     let mut graph = &graph;
[INFO] [stdout] 297 + 
[INFO] [stdout] 298 +                     if let Ok(tx) = tx {
[INFO] [stdout] 299 +                         for chunk in chunks.unwrap_or_default() {
[INFO] [stdout] 300 +                             match chunk {
[INFO] [stdout] 301 +                                 Value::Object(chunk) => {
[INFO] [stdout] 302 +                                     let mut iter = chunk.into_iter();
[INFO] [stdout] 303 +                                     if iter.len() == 1 {
[INFO] [stdout] 304 +                                         let (event, args) = iter.next().unwrap();
[INFO] [stdout] 305 + //                                        println!("Event={}, args={:?}", event, args);
[INFO] [stdout] 306 +                                         if let Some((ty, g)) = graph.iter().find(|&(.., ref g)| g.event == event) {
[INFO] [stdout] 307 + //                                            println!("Type={}, Graph={:?}", ty, g);
[INFO] [stdout] 308 +                                             let req = cocaine::Request::new(*ty, &args).unwrap();
[INFO] [stdout] 309 +                                             match g.rx {
[INFO] [stdout] 310 +                                                 Some(ref g) if g.is_empty() => {
[INFO] [stdout] 311 +                                                     tx.send(req);
[INFO] [stdout] 312 +                                                     break;
[INFO] [stdout] 313 +                                                 }
[INFO] [stdout] 314 +                                                 Some(ref g) => {
[INFO] [stdout] 315 +                                                     graph = g;
[INFO] [stdout] 316 +                                                     tx.send(req);
[INFO] [stdout] 317 +                                                 }
[INFO] [stdout] 318 +                                                 None => {
[INFO] [stdout] 319 +                                                     tx.send(req);
[INFO] [stdout] 320 +                                                 }
[INFO] [stdout] 321 +                                             }
[INFO] [stdout] 322 +                                         } else {
[INFO] [stdout] 323 + //                                            println!("event not found");
[INFO] [stdout] 324 +                                             break;
[INFO] [stdout] 325 +                                         }
[INFO] [stdout] 326 +                                     }
[INFO] [stdout] 327 +                                 }
[INFO] [stdout] 328 +                                 _ => {}
[INFO] [stdout] 329 +                             }
[INFO] [stdout] 330 +                         }
[INFO] [stdout] 331 +                     }
[INFO] [stdout] 332 + 
[INFO] [stdout] 333 +                     Ok(())
[INFO] [stdout] 334 +                 }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:338:17
[INFO] [stdout]     |
[INFO] [stdout] 338 | /                 box service.call(req, dispatch).then(|tx| {
[INFO] [stdout] 339 | |                     mem::drop(tx);
[INFO] [stdout] 340 | |                     Ok(())
[INFO] [stdout] 341 | |                 })
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 338 ~                 Box::new(service.call(req, dispatch).then(|tx| {
[INFO] [stdout] 339 +                     mem::drop(tx);
[INFO] [stdout] 340 +                     Ok(())
[INFO] [stdout] 341 +                 }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/perf.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 |               func: box move |service: &Service, _settings: Settings| {
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 45 | |                 let future = service.call(cocaine::Request::new(0, &["8.8.8.8"]).unwrap(), SingleChunkReadDispatch { tx: tx })
[INFO] [stdout] 46 | |                     .then(|tx| {
[INFO] [stdout] 47 | |                         drop(tx);
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 51 | |             },
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 44 ~             func: Box::new(move |service: &Service, _settings: Settings| {
[INFO] [stdout] 45 +                 let future = service.call(cocaine::Request::new(0, &["8.8.8.8"]).unwrap(), SingleChunkReadDispatch { tx: tx })
[INFO] [stdout] 46 +                     .then(|tx| {
[INFO] [stdout] 47 +                         drop(tx);
[INFO] [stdout] 48 +                         Ok(())
[INFO] [stdout] 49 +                     });
[INFO] [stdout] 50 +                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 51 ~             }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:346:13
[INFO] [stdout]     |
[INFO] [stdout] 346 |             box future::ok(())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 346 |             Box::new(future::ok(()))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/perf.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Match::Some(box future)
[INFO] [stdout]    |                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Match::Some(Box::new(future))
[INFO] [stdout]    |                     ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:391:32
[INFO] [stdout]     |
[INFO] [stdout] 391 |                         return box future::ok(resp) as Box<Future<Item=HttpResponse, Error=hyper::Error>>;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 391 |                         return Box::new(future::ok(resp)) as Box<Future<Item=HttpResponse, Error=hyper::Error>>;
[INFO] [stdout]     |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:402:17
[INFO] [stdout]     |
[INFO] [stdout] 402 | /                 box stream::iter_ok(calls.into_iter())
[INFO] [stdout] 403 | |                     .and_then(move |call| Self::call(call, d.clone()))
[INFO] [stdout] 404 | |                     .collect()
[INFO] [stdout] 405 | |                     .and_then(|resp| Ok(Self::make_response(resp)))
[INFO] [stdout]     | |___________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 402 ~                 Box::new(stream::iter_ok(calls.into_iter())
[INFO] [stdout] 403 +                     .and_then(move |call| Self::call(call, d.clone()))
[INFO] [stdout] 404 +                     .collect()
[INFO] [stdout] 405 +                     .and_then(|resp| Ok(Self::make_response(resp))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:408:25
[INFO] [stdout]     |
[INFO] [stdout] 408 |             Match::Some(box future)
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 408 |             Match::Some(Box::new(future))
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/perf.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 Box::new(future) as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/perf.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 |               func: box move |service: &Service, _settings: Settings| {
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 45 | |                 let future = service.call(cocaine::Request::new(0, &["8.8.8.8"]).unwrap(), SingleChunkReadDispatch { tx: tx })
[INFO] [stdout] 46 | |                     .then(|tx| {
[INFO] [stdout] 47 | |                         drop(tx);
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 51 | |             },
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 44 ~             func: Box::new(move |service: &Service, _settings: Settings| {
[INFO] [stdout] 45 +                 let future = service.call(cocaine::Request::new(0, &["8.8.8.8"]).unwrap(), SingleChunkReadDispatch { tx: tx })
[INFO] [stdout] 46 +                     .then(|tx| {
[INFO] [stdout] 47 +                         drop(tx);
[INFO] [stdout] 48 +                         Ok(())
[INFO] [stdout] 49 +                     });
[INFO] [stdout] 50 +                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 51 ~             }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/perf.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Match::Some(box future)
[INFO] [stdout]    |                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Match::Some(Box::new(future))
[INFO] [stdout]    |                     ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/service/cocaine.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | /         box self.router.process(req).and_then(move |resp| {
[INFO] [stdout] 63 | |             if resp.status().is_server_error() {
[INFO] [stdout] 64 | |                 metrics.responses.c5xx.mark(1);
[INFO] [stdout] 65 | |             }
[INFO] [stdout] 66 | |
[INFO] [stdout] 67 | |             Ok(resp)
[INFO] [stdout] 68 | |         })
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 62 ~         Box::new(self.router.process(req).and_then(move |resp| {
[INFO] [stdout] 63 +             if resp.status().is_server_error() {
[INFO] [stdout] 64 +                 metrics.responses.c5xx.mark(1);
[INFO] [stdout] 65 +             }
[INFO] [stdout] 66 + 
[INFO] [stdout] 67 +             Ok(resp)
[INFO] [stdout] 68 +         }))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/service/cocaine.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | /         box self.router.process(req).and_then(move |resp| {
[INFO] [stdout] 63 | |             if resp.status().is_server_error() {
[INFO] [stdout] 64 | |                 metrics.responses.c5xx.mark(1);
[INFO] [stdout] 65 | |             }
[INFO] [stdout] 66 | |
[INFO] [stdout] 67 | |             Ok(resp)
[INFO] [stdout] 68 | |         })
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 62 ~         Box::new(self.router.process(req).and_then(move |resp| {
[INFO] [stdout] 63 +             if resp.status().is_server_error() {
[INFO] [stdout] 64 +                 metrics.responses.c5xx.mark(1);
[INFO] [stdout] 65 +             }
[INFO] [stdout] 66 + 
[INFO] [stdout] 67 +             Ok(resp)
[INFO] [stdout] 68 +         }))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, fnbox, integer_atomics, never_type)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/pool/mod.rs:386:21
[INFO] [stdout]     |
[INFO] [stdout] 386 |             stream: box stream,
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 386 |             stream: Box::new(stream),
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/pool/mod.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |         box self.tvm.ticket(self.client_id, &self.client_secret, &self.grant)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 482 |         Box::new(self.tvm.ticket(self.client_id, &self.client_secret, &self.grant))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/mod.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |         box future::ok(Response::new().with_status(StatusCode::NotFound))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 97 |         Box::new(future::ok(Response::new().with_status(StatusCode::NotFound)))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:135:28
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     return box future::err(err)
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 135 |                     return Box::new(future::err(err))
[INFO] [stdout]     |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |         box future
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 175 |         Box::new(future)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:199:29
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Match::Some(box future::ok(resp))
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Match::Some(Box::new(future::ok(resp)))
[INFO] [stdout]     |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:401:17
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 401 |                 Box::new(future) as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]     |                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:365:19
[INFO] [stdout]     |
[INFO] [stdout] 365 |               func: box move |service: &Service, mut settings: Settings| {
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 366 | |                 if let Some(true) = manual_verbose {
[INFO] [stdout] 367 | |                     settings.verbose = true;
[INFO] [stdout] 368 | |                 }
[INFO] [stdout] ...   |
[INFO] [stdout] 401 | |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 402 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 365 ~             func: Box::new(move |service: &Service, mut settings: Settings| {
[INFO] [stdout] 366 +                 if let Some(true) = manual_verbose {
[INFO] [stdout] 367 +                     settings.verbose = true;
[INFO] [stdout] 368 +                 }
[INFO] [stdout] 369 + 
[INFO] [stdout] 370 +                 if settings.verbose && attempt == 1 {
[INFO] [stdout] 371 +                     verbose.store(true, Ordering::Release);
[INFO] [stdout] 372 +                 }
[INFO] [stdout] 373 + 
[INFO] [stdout] 374 +                 if verbose.load(Ordering::Acquire) {
[INFO] [stdout] 375 +                     headers.push(hpack::TraceBit(true).into_raw());
[INFO] [stdout] 376 +                 }
[INFO] [stdout] 377 + 
[INFO] [stdout] 378 +                 if let Some(timeout) = settings.timeout {
[INFO] [stdout] 379 +                     headers.push(hpack::RawHeader::new(&b"request_timeout"[..], pack_u64((timeout * 1000.0) as u64)));
[INFO] [stdout] 380 +                 }
[INFO] [stdout] 381 + 
[INFO] [stdout] 382 +                 let req = cocaine::Request::new(0, &[request.event.clone()]).unwrap()
[INFO] [stdout] 383 +                     .add_headers(headers);
[INFO] [stdout] 384 + 
[INFO] [stdout] 385 +                 let future = service.call(req, AppReadDispatch {
[INFO] [stdout] 386 +                     tx: tx,
[INFO] [stdout] 387 +                     method: request.frame.method.clone(),
[INFO] [stdout] 388 +                     body: None,
[INFO] [stdout] 389 +                     trace: request.trace,
[INFO] [stdout] 390 +                     response: Some(Response::new()),
[INFO] [stdout] 391 +                 }).and_then(move |tx| {
[INFO] [stdout] 392 +                     let buf = serialize::to_vec(&request.frame).unwrap();
[INFO] [stdout] 393 +                     tx.send(cocaine::Request::new(0, &[unsafe { ::std::str::from_utf8_unchecked(&buf) }]).unwrap());
[INFO] [stdout] 394 +                     tx.send(cocaine::Request::new(2, &[0; 0]).unwrap());
[INFO] [stdout] 395 +                     Ok(())
[INFO] [stdout] 396 +                 }).then(|_| {
[INFO] [stdout] 397 +                     // TODO: Consider if it is okay to always finish the future with OK. May be log?
[INFO] [stdout] 398 +                     Ok(())
[INFO] [stdout] 399 +                 });
[INFO] [stdout] 400 + 
[INFO] [stdout] 401 +                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 402 +             })
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/app.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 409 |         box future
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 409 |         Box::new(future)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:199:48
[INFO] [stdout]     |
[INFO] [stdout] 199 | ...                   return box future::ok(Some(out))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 199 |                                         return Box::new(future::ok(Some(out)))
[INFO] [stdout]     |                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 239 | ...                   box future::ok(())
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 239 |                                             Box::new(future::ok(()))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:216:48
[INFO] [stdout]     |
[INFO] [stdout] 216 |   ...                   return box service.connect().then(move |result| {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 217 | | ...                       match result {
[INFO] [stdout] 218 | | ...                           Ok(()) => {
[INFO] [stdout] 219 | | ...                               match service.methods() {
[INFO] [stdout] ...   |
[INFO] [stdout] 239 | | ...                       box future::ok(())
[INFO] [stdout] 240 | | ...                   }) as Box<Future<Item = (), Error = ()> + Send>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 216 ~                                         return Box::new(service.connect().then(move |result| {
[INFO] [stdout] 217 +                                             match result {
[INFO] [stdout] 218 +                                                 Ok(()) => {
[INFO] [stdout] 219 +                                                     match service.methods() {
[INFO] [stdout] 220 +                                                         Some(methods) => {
[INFO] [stdout] 221 +                                                             return Self::invoke(&service, event, params, chunks, id, methods, tx);
[INFO] [stdout] 222 +                                                         }
[INFO] [stdout] 223 +                                                         None => {
[INFO] [stdout] 224 +                                                             let err = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 225 +                                                             let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 226 +                                                             mem::drop(tx.send(out));
[INFO] [stdout] 227 +                                                         }
[INFO] [stdout] 228 +                                                     }
[INFO] [stdout] 229 +                                                 }
[INFO] [stdout] 230 +                                                 Err(e) => {
[INFO] [stdout] 231 +                                                     let mut err: Error = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 232 +                                                     err.data = Some(Value::String(e.to_string()));
[INFO] [stdout] 233 + 
[INFO] [stdout] 234 +                                                     let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 235 +                                                     mem::drop(tx.send(out));
[INFO] [stdout] 236 +                                                 }
[INFO] [stdout] 237 +                                             }
[INFO] [stdout] 238 + 
[INFO] [stdout] 239 +                                             box future::ok(())
[INFO] [stdout] 240 ~                                         })) as Box<Future<Item = (), Error = ()> + Send>;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:211:35
[INFO] [stdout]     |
[INFO] [stdout] 211 |   ...                   func: box move |service: &Service, _settings: Settings| {
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 212 | | ...                       let methods = match service.methods() {
[INFO] [stdout] 213 | | ...                           Some(methods) => methods,
[INFO] [stdout] 214 | | ...                           None => {
[INFO] [stdout] ...   |
[INFO] [stdout] 244 | | ...                       Self::invoke(service, event, params, chunks, id, methods, tx)
[INFO] [stdout] 245 | | ...                   },
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 211 ~                             func: Box::new(move |service: &Service, _settings: Settings| {
[INFO] [stdout] 212 +                                 let methods = match service.methods() {
[INFO] [stdout] 213 +                                     Some(methods) => methods,
[INFO] [stdout] 214 +                                     None => {
[INFO] [stdout] 215 +                                         let service = service.clone();
[INFO] [stdout] 216 +                                         return box service.connect().then(move |result| {
[INFO] [stdout] 217 +                                             match result {
[INFO] [stdout] 218 +                                                 Ok(()) => {
[INFO] [stdout] 219 +                                                     match service.methods() {
[INFO] [stdout] 220 +                                                         Some(methods) => {
[INFO] [stdout] 221 +                                                             return Self::invoke(&service, event, params, chunks, id, methods, tx);
[INFO] [stdout] 222 +                                                         }
[INFO] [stdout] 223 +                                                         None => {
[INFO] [stdout] 224 +                                                             let err = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 225 +                                                             let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 226 +                                                             mem::drop(tx.send(out));
[INFO] [stdout] 227 +                                                         }
[INFO] [stdout] 228 +                                                     }
[INFO] [stdout] 229 +                                                 }
[INFO] [stdout] 230 +                                                 Err(e) => {
[INFO] [stdout] 231 +                                                     let mut err: Error = ServerErrorCode::ServiceNotConnected.into();
[INFO] [stdout] 232 +                                                     err.data = Some(Value::String(e.to_string()));
[INFO] [stdout] 233 + 
[INFO] [stdout] 234 +                                                     let out = Output::from(Err(err), id, Some(Version::V2));
[INFO] [stdout] 235 +                                                     mem::drop(tx.send(out));
[INFO] [stdout] 236 +                                                 }
[INFO] [stdout] 237 +                                             }
[INFO] [stdout] 238 + 
[INFO] [stdout] 239 +                                             box future::ok(())
[INFO] [stdout] 240 +                                         }) as Box<Future<Item = (), Error = ()> + Send>;
[INFO] [stdout] 241 +                                     }
[INFO] [stdout] 242 +                                 };
[INFO] [stdout] 243 + 
[INFO] [stdout] 244 +                                 Self::invoke(service, event, params, chunks, id, methods, tx)
[INFO] [stdout] 245 ~                             }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 | /                         box future
[INFO] [stdout] 251 | |                             .and_then(move |resp| Ok(Some(resp)))
[INFO] [stdout] 252 | |                             .map_err(|err| {
[INFO] [stdout] 253 | |                                 hyper::Error::Io(io::Error::new(ErrorKind::Other, format!("{}", err)))
[INFO] [stdout] 254 | |                             })
[INFO] [stdout]     | |______________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 250 ~                         Box::new(future
[INFO] [stdout] 251 +                             .and_then(move |resp| Ok(Some(resp)))
[INFO] [stdout] 252 +                             .map_err(|err| {
[INFO] [stdout] 253 +                                 hyper::Error::Io(io::Error::new(ErrorKind::Other, format!("{}", err)))
[INFO] [stdout] 254 +                             }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         box future::ok(Some(Output::from(Err(err), id, Some(Version::V2))))
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         Box::new(future::ok(Some(Output::from(Err(err), id, Some(Version::V2)))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:265:17
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 box future::ok(Some(Output::invalid_request(id, Some(Version::V2))))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 Box::new(future::ok(Some(Output::invalid_request(id, Some(Version::V2)))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:294:17
[INFO] [stdout]     |
[INFO] [stdout] 294 | /                 box service.call(req, dispatch).then(move |tx| {
[INFO] [stdout] 295 | | //                    println!("After call");
[INFO] [stdout] 296 | |                     let mut graph = &graph;
[INFO] [stdout] 297 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |                     Ok(())
[INFO] [stdout] 334 | |                 })
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 294 ~                 Box::new(service.call(req, dispatch).then(move |tx| {
[INFO] [stdout] 295 + //                    println!("After call");
[INFO] [stdout] 296 +                     let mut graph = &graph;
[INFO] [stdout] 297 + 
[INFO] [stdout] 298 +                     if let Ok(tx) = tx {
[INFO] [stdout] 299 +                         for chunk in chunks.unwrap_or_default() {
[INFO] [stdout] 300 +                             match chunk {
[INFO] [stdout] 301 +                                 Value::Object(chunk) => {
[INFO] [stdout] 302 +                                     let mut iter = chunk.into_iter();
[INFO] [stdout] 303 +                                     if iter.len() == 1 {
[INFO] [stdout] 304 +                                         let (event, args) = iter.next().unwrap();
[INFO] [stdout] 305 + //                                        println!("Event={}, args={:?}", event, args);
[INFO] [stdout] 306 +                                         if let Some((ty, g)) = graph.iter().find(|&(.., ref g)| g.event == event) {
[INFO] [stdout] 307 + //                                            println!("Type={}, Graph={:?}", ty, g);
[INFO] [stdout] 308 +                                             let req = cocaine::Request::new(*ty, &args).unwrap();
[INFO] [stdout] 309 +                                             match g.rx {
[INFO] [stdout] 310 +                                                 Some(ref g) if g.is_empty() => {
[INFO] [stdout] 311 +                                                     tx.send(req);
[INFO] [stdout] 312 +                                                     break;
[INFO] [stdout] 313 +                                                 }
[INFO] [stdout] 314 +                                                 Some(ref g) => {
[INFO] [stdout] 315 +                                                     graph = g;
[INFO] [stdout] 316 +                                                     tx.send(req);
[INFO] [stdout] 317 +                                                 }
[INFO] [stdout] 318 +                                                 None => {
[INFO] [stdout] 319 +                                                     tx.send(req);
[INFO] [stdout] 320 +                                                 }
[INFO] [stdout] 321 +                                             }
[INFO] [stdout] 322 +                                         } else {
[INFO] [stdout] 323 + //                                            println!("event not found");
[INFO] [stdout] 324 +                                             break;
[INFO] [stdout] 325 +                                         }
[INFO] [stdout] 326 +                                     }
[INFO] [stdout] 327 +                                 }
[INFO] [stdout] 328 +                                 _ => {}
[INFO] [stdout] 329 +                             }
[INFO] [stdout] 330 +                         }
[INFO] [stdout] 331 +                     }
[INFO] [stdout] 332 + 
[INFO] [stdout] 333 +                     Ok(())
[INFO] [stdout] 334 +                 }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:338:17
[INFO] [stdout]     |
[INFO] [stdout] 338 | /                 box service.call(req, dispatch).then(|tx| {
[INFO] [stdout] 339 | |                     mem::drop(tx);
[INFO] [stdout] 340 | |                     Ok(())
[INFO] [stdout] 341 | |                 })
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 338 ~                 Box::new(service.call(req, dispatch).then(|tx| {
[INFO] [stdout] 339 +                     mem::drop(tx);
[INFO] [stdout] 340 +                     Ok(())
[INFO] [stdout] 341 +                 }))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:346:13
[INFO] [stdout]     |
[INFO] [stdout] 346 |             box future::ok(())
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 346 |             Box::new(future::ok(()))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:391:32
[INFO] [stdout]     |
[INFO] [stdout] 391 |                         return box future::ok(resp) as Box<Future<Item=HttpResponse, Error=hyper::Error>>;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 391 |                         return Box::new(future::ok(resp)) as Box<Future<Item=HttpResponse, Error=hyper::Error>>;
[INFO] [stdout]     |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:402:17
[INFO] [stdout]     |
[INFO] [stdout] 402 | /                 box stream::iter_ok(calls.into_iter())
[INFO] [stdout] 403 | |                     .and_then(move |call| Self::call(call, d.clone()))
[INFO] [stdout] 404 | |                     .collect()
[INFO] [stdout] 405 | |                     .and_then(|resp| Ok(Self::make_response(resp)))
[INFO] [stdout]     | |___________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 402 ~                 Box::new(stream::iter_ok(calls.into_iter())
[INFO] [stdout] 403 +                     .and_then(move |call| Self::call(call, d.clone()))
[INFO] [stdout] 404 +                     .collect()
[INFO] [stdout] 405 +                     .and_then(|resp| Ok(Self::make_response(resp))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]    --> src/route/jsonrpc.rs:408:25
[INFO] [stdout]     |
[INFO] [stdout] 408 |             Match::Some(box future)
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]     |
[INFO] [stdout] 408 |             Match::Some(Box::new(future))
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/perf.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 Box::new(future) as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/perf.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 44 |               func: box move |service: &Service, _settings: Settings| {
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 45 | |                 let future = service.call(cocaine::Request::new(0, &["8.8.8.8"]).unwrap(), SingleChunkReadDispatch { tx: tx })
[INFO] [stdout] 46 | |                     .then(|tx| {
[INFO] [stdout] 47 | |                         drop(tx);
[INFO] [stdout] ...  |
[INFO] [stdout] 50 | |                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 51 | |             },
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 44 ~             func: Box::new(move |service: &Service, _settings: Settings| {
[INFO] [stdout] 45 +                 let future = service.call(cocaine::Request::new(0, &["8.8.8.8"]).unwrap(), SingleChunkReadDispatch { tx: tx })
[INFO] [stdout] 46 +                     .then(|tx| {
[INFO] [stdout] 47 +                         drop(tx);
[INFO] [stdout] 48 +                         Ok(())
[INFO] [stdout] 49 +                     });
[INFO] [stdout] 50 +                 box future as Box<Future<Item = (), Error = ()> + Send>
[INFO] [stdout] 51 ~             }),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/route/perf.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Match::Some(box future)
[INFO] [stdout]    |                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Match::Some(Box::new(future))
[INFO] [stdout]    |                     ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box_syntax` has been removed
[INFO] [stdout]   --> src/service/cocaine.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | /         box self.router.process(req).and_then(move |resp| {
[INFO] [stdout] 63 | |             if resp.status().is_server_error() {
[INFO] [stdout] 64 | |                 metrics.responses.c5xx.mark(1);
[INFO] [stdout] 65 | |             }
[INFO] [stdout] 66 | |
[INFO] [stdout] 67 | |             Ok(resp)
[INFO] [stdout] 68 | |         })
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout] help: use `Box::new()` instead
[INFO] [stdout]    |
[INFO] [stdout] 62 ~         Box::new(self.router.process(req).and_then(move |resp| {
[INFO] [stdout] 63 +             if resp.status().is_server_error() {
[INFO] [stdout] 64 +                 metrics.responses.c5xx.mark(1);
[INFO] [stdout] 65 +             }
[INFO] [stdout] 66 + 
[INFO] [stdout] 67 +             Ok(resp)
[INFO] [stdout] 68 +         }))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]  --> src/pool/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::boxed::FnBox;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]  --> src/pool/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::boxed::FnBox;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::boxed::FnBox`
[INFO] [stdout]  --> src/pool/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::boxed::FnBox;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^ no `FnBox` in `boxed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/route/app.rs:475:74
[INFO] [stdout]     |
[INFO] [stdout] 475 |             Error::IncompleteHeadersMatch => fmt.write_str(error::Error::description(self)),
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fnbox`
[INFO] [stdout]  --> src/lib.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, fnbox, integer_atomics, never_type)]
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pool/mod.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 |         func: Box<FnBox(&Service, Settings) -> Box<Future<Item = (), Error = ()> + Send> + Send>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |         func: Box<dyn FnBox(&Service, Settings) -> Box<Future<Item = (), Error = ()> + Send> + Send>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 29 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0557, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cocaine-http-proxy` (lib) due to 30 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/route/app.rs:475:74
[INFO] [stdout]     |
[INFO] [stdout] 475 |             Error::IncompleteHeadersMatch => fmt.write_str(error::Error::description(self)),
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fnbox`
[INFO] [stdout]  --> src/lib.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, fnbox, integer_atomics, never_type)]
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pool/mod.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 |         func: Box<FnBox(&Service, Settings) -> Box<Future<Item = (), Error = ()> + Send> + Send>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |         func: Box<dyn FnBox(&Service, Settings) -> Box<Future<Item = (), Error = ()> + Send> + Send>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 29 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0557, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cocaine-http-proxy` (lib test) due to 30 previous errors; 2 warnings emitted
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/route/app.rs:475:74
[INFO] [stdout]     |
[INFO] [stdout] 475 |             Error::IncompleteHeadersMatch => fmt.write_str(error::Error::description(self)),
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `fnbox`
[INFO] [stdout]  --> src/lib.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, fnbox, integer_atomics, never_type)]
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/pool/mod.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 |         func: Box<FnBox(&Service, Settings) -> Box<Future<Item = (), Error = ()> + Send> + Send>,
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |         func: Box<dyn FnBox(&Service, Settings) -> Box<Future<Item = (), Error = ()> + Send> + Send>,
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 29 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0557, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cocaine-http-proxy` (lib) due to 30 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "c0eb3bb5bd647284f1e7db5e077a152a4df485d9d37489b126904a0df8dc23ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0eb3bb5bd647284f1e7db5e077a152a4df485d9d37489b126904a0df8dc23ea", kill_on_drop: false }`
[INFO] [stdout] c0eb3bb5bd647284f1e7db5e077a152a4df485d9d37489b126904a0df8dc23ea
